#pragma once


#include <maya/MPxCommand.h>
#include <maya/MObject.h>
#include <maya/MGlobal.h>
#include <maya/MIOStream.h>
#include <maya/MSelectionList.h>
#include <maya/MItSelectionList.h>
#include <maya/MDagPath.h>
#include <maya/MFnDagNode.h>
#include <maya/MString.h>
#include <maya/MItMeshVertex.h>
#include <vector>
#include "BoundingBox.h"
class ProjectionShape
{
public:
	ProjectionShape();
	~ProjectionShape(void);
	virtual void getUnscaledUVs(MPoint coords, float2 outUVs);
	virtual double getWidthToHeightRatio();

	double getRightBound();
	double getLeftBound();	
	double getTopBound();	
	double getBottomBound();

	double getHeight();
	double getWidth();

protected:
	void setUpBounds();
	void updateBounds(float2 outUVs);

	double widthBounds;
	double heightBounds;

	double rightBound;	//+x
	double leftBound;	//-x	
	double topBound;		//+y
	double bottomBound;	//-y 
	
	BoundingBox* bb;
};



	



